/* * Sun Public License Notice * * The contents of this file are subject to the Sun Public License * Version 1.0 (the "License"). You may not use this file except in * compliance with the License. A copy of the License is available at * http://www.sun.com/ * * The Original Code is NetBeans. The Initial Developer of the Original * Code is Sun Microsystems, Inc. Portions Copyright 1997-2001 Sun * Microsystems, Inc. All Rights Reserved. */ package org.netbeans.modules.db.util; import javax.swing.JTextField; import java.awt.Toolkit; public class ValidableTextField extends JTextField { private TextFieldValidator validator = null; static final long serialVersionUID =3686208002682293243L; public ValidableTextField(TextFieldValidator val) { super(); setValidator(val); } public TextFieldValidator getValidator() { return validator; } public void setValidator(TextFieldValidator val) { validator = val; } protected void reflectInvalidValue(String oldval, String newval) { setText(oldval); Toolkit.getDefaultToolkit().beep(); } public void replaceSelection(String s) { String oldText = getText(); super.replaceSelection(s); if (validator != null && !validator.accepts(getText())) { reflectInvalidValue(oldText, s); } } } /* * <<Log>> * 4 Gandalf 1.3 11/27/99 Patrik Knakal * 3 Gandalf 1.2 10/23/99 Ian Formanek NO SEMANTIC CHANGE - Sun * Microsystems Copyright in File Comment * 2 Gandalf 1.1 5/21/99 Slavek Psenicka new version * 1 Gandalf 1.0 5/14/99 Slavek Psenicka * $ */